package com.lcc.lynx.security.annotation;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * 权限校验 <br>
 * 1,写全称 如 test:search<br>
 * 2,写部分 如 :search 注意：必须以”:“开头，冒号前面会自动拼上<br>
 *      Controller的requestMapping的值
 */
@Retention(RUNTIME)
@Target({ METHOD, TYPE })
public @interface Permission {

    String search = ":search";
    String upd = ":upd";
    String del = ":del";
    String add = ":add";
    String down = ":down";
    String upload = ":upload";

    /**
     * 权限名称,
     * 1,写全称 如 test:search<br>
     * 2,写部分 如 :search 注意：必须以”:“开头，冒号前面会自动拼上<br>
     *      Controller的requestMapping的值
     * @return
     */
    String[] value();
}
